﻿namespace WebApi.Hubs;

/// <summary>
/// SignalR Client
/// </summary>
public interface IChatClient
{
    /// <summary>
    /// Receive message from server
    /// </summary>
    /// <param name="user"></param>
    /// <param name="message"></param>
    /// <returns></returns>
    Task ReceiveMessage(string user,string message);
    /// <summary>
    /// Receive message from server
    /// </summary>
    /// <param name="chatMessage"></param>
    /// <returns></returns>
    Task ReceiveMessage(ChatMessage  chatMessage);
    /*/// <summary>
    /// Receive message from client
    /// </summary>
    /// <param name="connectionId"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<string> GetMessage(string connectionId, CancellationToken cancellationToken);*/

    /// <summary>
    /// Send message to server
    /// </summary>
    /// <param name="message"></param>
    /// <returns></returns>
    Task Send(string message);

    /// <summary>
    /// Net Client send message
    /// </summary>
    /// <param name="netClient"></param>
    /// <returns></returns>
    Task NetClientReceiveMessage(NetClientRequestParam netClient);
}
